use std::collections::HashMap;

use serde::{Deserialize, Serialize};

use super::common_page::{InitValue, Layout, Position};


#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
pub struct FormProps {
    /** 编辑窗口的宽度 */
    #[serde(default = "width_default")]
    pub width: u16,
    /** 显示方式，窗口，内部，左，右；默认为modal */
    #[serde(default)]
    pub position: Position,
    /** 布局方式，水平：标签和输入框在同一行，垂直：标签在输入框上方；默认为vertical */
    #[serde(default)]
    pub layout: Layout,
    /** 数据保存时使用的额外的值，比如当前用户{uid:15}*/
    #[serde(default)]
    pub extra_vals: Option<HashMap<String, InitValue>>,
}
fn width_default() -> u16 {
    300
}